home *** CD-ROM | disk | FTP | other *** search
/ Power Tools 1993 November - Disc 2 / Power Tools Plus (Disc 2 of 2)(November 1993)(HP).iso / hotlines / wsyhl / realrisc / realrisc.txt < prev    next >
Text File  |  1993-04-20  |  24KB  |  789 lines

  1. REAL-TIME CONTROL UTILIZING RISC
  2.  
  3.  
  4.  
  5. Technical White Paper
  6.  
  7. December 1992
  8.  
  9. Robert L. Harris Research & Development Manager Measurement &
  10. Control Systems Division Hewlett-Packard Company 3404 E. Harmony
  11. Road Fort Collins, CO  80525
  12.  
  13.  
  14.  
  15. REAL-TIME CONTROL UTILIZING RISC
  16.  
  17.  
  18.  
  19. 1.  Introduction
  20.  
  21.  
  22.  
  23.      The design requirements and tradeoffs for a Real-time
  24. system utilizing a RISC-based processor will be reviewed.  The
  25. definition of Real-time will be discussed. The design
  26. considerations of a Real-time system utilizing the PA-RISC
  27. architecture will be reviewed, including processor design,
  28. memory subsystem design, I/O subsystem design, and operating
  29. system design.
  30.  
  31.  
  32.  
  33. 2.  Definition of Real-time
  34.  
  35.  
  36.  
  37.      The P1003.4 working group within the POSIX standards
  38. effort has adopted the following definition of Real-time to
  39. help guide it's activities:
  40.  
  41.  
  42.  
  43.      Real time in Operating Systems - The ability of the
  44. operating system to provide a required level of
  45. service in a bounded response time.
  46.  
  47.  
  48.  
  49. From this definition, and building upon our experience in
  50. Real-time applications, the general attributes of a Real-time
  51. system can be further broken down into the following areas:
  52.  
  53.  
  54.  
  55. Determinism:  The ability of the system to perform an operation
  56. in a determined timeframe.
  57.  
  58. Responsiveness:  The ability of the system to quickly respond to
  59. an external event.
  60.  
  61. I/O Flexibility:  The system's ability to flexibly perform I/O
  62. and maximize user control over the I/O processes.
  63.  
  64. Reliability:  Maximizing system up time for critical conditions.
  65.  
  66.  
  67.  
  68. 3.  General requirements of Real-time systems
  69.  
  70.  
  71.  
  72.      In order to fulfill the requirements for Real-time
  73. control and computation, systems must satisfy the following
  74. general conditions:
  75.  
  76.  
  77.  
  78. 3.1.   High Computation Performance:
  79.  
  80.      While some applications require only a modest amount of
  81. computation power, easily satisfied by
  82. conventional CISC architectures, other applications, such as
  83. high-performance data acquisition and Real-time
  84. imaging, require very high performance processing power
  85. provided by the 50-100+ MIPs power offered by RISC
  86. processors.
  87.  
  88.  
  89.  
  90.      Processor power is typically measured by several CPU
  91. benchmarks.  The most common are:
  92.  
  93.  
  94.  
  95. Clock frequency:  Used frequently in the past as a measurement
  96. of the processor power.  However, with RISC and superscalar
  97. architectures, the frequency of a processor seldom has a direct
  98. correlation to it's actual performance.
  99.  
  100. MIPs:  Typically measured in Dhrystone performance, usually
  101. expressed as a multiple of VAX 11-780 Dhrystone performance.
  102. This benchmark measures integer processes per second and
  103. record-pointer manipulation.
  104.  
  105. SPECmark:  A suite of 10 CPU intensive application-like programs
  106. taken from the scientific and engineering environments that test
  107. integer (SPEC int) and floating point (SPEC fp) performance of a
  108. computer.
  109.  
  110.  
  111.  
  112. 3.2.  Floating point performance:
  113.  
  114.      Floating point performance is becoming more important in
  115. Real-time systems to give a wide dynamic range for data
  116. computation, and in  graphics for both display and user
  117. interface. As the technology has improved for
  118. integrating floating point processors onto the processor
  119. chip, more applications will take advantage of this power,
  120. although certain low-end applications will
  121. still not include floating point, or will include it as an
  122. option.  Floating point performance is typically
  123. measured in either:
  124.  
  125.  
  126.  
  127. Floating point SPECmark (SPEC fp)
  128.  
  129. Linpack:  A package of FORTRAN programs for numeric linear
  130. algebra for testing a computer's floating point performance
  131. (MFlops)
  132.  
  133. Whetstone:  Another benchmark program simulating
  134. arithmetic-intensive programs used in scientific computing.
  135.  
  136.  
  137.  
  138. 3.3.  High Performance Memory System:
  139.  
  140.      Processor systems require a reliable and high
  141. performance memory system to gain optimal
  142. performance.  Most RISC systems require cache memories, either
  143. on chip or off chip, to perform well. Memory
  144. system integrity is important for Real-time systems and vital
  145. for mission-critical Real-time applications.
  146. Parity (error detection) is the minimum acceptable;
  147. ECC (error detection and correction) is preferred due to the
  148. higher reliability.
  149.  
  150.  
  151.  
  152. 3.4.  I/O Flexibility:
  153.  
  154.      Real-time systems are typically I/O intensive.  Most
  155. systems are tied to a flexible, standard I/O bus such
  156. as VME, EISA, S-bus, etc.  To obtain maximum flexibility the bus
  157. should be standard and open.  Some built-in I/O
  158. functionality is usually included.  This includes serial
  159.   ports, parallel ports, SCSI interface, LAN interface, and
  160. sometimes specialized interfaces such as IEEE 488
  161. (HP-IB).
  162.  
  163.  
  164.  
  165. 4.  The design of a Real-time system:
  166.  
  167.  
  168.  
  169.      In order to talk about the detailed design
  170. considerations for a Real-time system, the following block
  171. diagram of a Real-time system based on a RISC processor will be
  172. used.  The block diagram is of the HP Model 742rt or 747i
  173. Real-time systems based on the PA-RISC 7100 processor.
  174.  
  175.  
  176.  
  177. Figure 1 Real-Time System Block Diagram
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187. 4.1.  Processor:
  188.  
  189.      The heart of a Real-time system is the processor.  With
  190. the increasing densities offered by current IC
  191. technologies, processors have become more complex, offering
  192. options for memory management, floating
  193. point, and considerable I/O flexibility. These trends are true
  194. in either RISC (reduced instruction) or CISC (complex
  195. instruction) computers.  However, RISC
  196. architectures have proven to provide more net performance per
  197. unit cost of silicon, and thus have reached
  198. acceptance in virtually all computer markets.
  199.  
  200.  
  201.  
  202.      RISC architectures evolved in their true commercial
  203. sense during the 1980's. HP introduced the first RISC
  204. machines in 1985 using a TTL implementation of the processor.
  205. Since then, HP has produced several implementations in
  206. both NMOS and CMOS.
  207.  
  208.  
  209.  
  210. In many ways, PA-RISC is a classic RISC architecture.  In
  211. includes fixed size instructions, reasonably consistent
  212. instruction formats, a fairly small number of addressing modes,
  213. 32 general purpose registers, and instruction formats that
  214. permit hardwired implementation (no microcode) and reasonably
  215. easy pipelining. PA-RISC, though, offers more instructions than
  216. most other RISC architecture, and it is that richness in
  217. combined instructions, such as combining condition branch
  218. instructions with data operations, that leads to an excellent
  219. match for Real-time control.
  220.  
  221.  
  222.  
  223.      Some of the relevant criteria when choosing a processor
  224. are:
  225.  
  226.  
  227.  
  228. Integer computation performance
  229.  
  230. Floating point:  Standard or optional
  231.  
  232. Caches:  Are they integrated or external?  If external, what are
  233. the timing requirements?
  234.  
  235. Memory management:  Does the processor support virtual memory
  236. and thus an MMU,  or is it only physically addressed?  Physical
  237. mapping is simpler and less costly, but eliminates the
  238. advantages of an MMU in both addressing flexibility and process
  239. protection.  Without an MMU, only a single,
  240. unprotected address space is available.  The full UNIX model
  241. of process to process, and process to kernel, protection cannot
  242. be implemented.  A dynamic failure of a user task can cause
  243. complete system failure.  With an MMU and protected process
  244. environments, the MMU allows the failing task to suffer a
  245. protection violation and possible termination without impacting
  246. global system operation.  An MMU also allows for a virtual
  247. memory option.
  248.  
  249.  
  250.  
  251. PA-RISC, along with several other architectures, defines several
  252. levels ranging from 32-bit physical addressed to 64-bit full
  253. virtual systems.  This scalability of processor performance and
  254. cost is important to many applications.
  255.  
  256.  
  257.  
  258. Interruptions:  The processor should support both multiple
  259. levels of maskable interrupts (PA-RISC offers 32) and one
  260. non-maskable interrupt.
  261.  
  262. Fast interrupt response times:  In order to improve interrupt
  263. response times, PA-RISC automatically copies the main registers
  264. into "shadow registers", automatically saving the state during
  265. short interrupt service routines.  The times required to store
  266. and restore state, or "context switch time", are also important.
  267.  
  268. Debugging aids, to allow for system-level debugging.
  269.  
  270. Scalability and longevity:  The architecture should have room to
  271. grow, both in performance, functionality, add-on processing such
  272. as special function units and coprocessors, and address space.
  273.  
  274.  
  275.  
  276. The 7100 chip used in the 742/747 systems runs at clock rates up
  277. to 99MHz. The 742 implementation consists of:
  278.  
  279.  
  280.  
  281. 50MHz PA-RISC 7100 chip, implemented in 0.8u CMOS, which
  282. includes:
  283.  
  284. IEEE 754 compliant single and double precision floating point
  285.  
  286. MMU with unified 120 entry fully associative first level TLB and
  287. 16 additional block        TLB
  288.  
  289. 64Kb external instruction cache and 64Kb external data cache
  290. (15nsec access time, 20nsec cycle time)
  291.  
  292.  
  293.  
  294. In a paper reported at OpenBus Systems '92, J.Petersen, C.
  295. Dessonet, C. Parkman, Y. Perrin, and L. Tremblet from CERN
  296. analyzed the performance of Lynx OS on both a CISC platform
  297. (MVME 147, 68030, 25MHz) and a RISC platform (RAID 8235, R3000,
  298. 25MHz).  The performance reported:
  299.  
  300.  
  301.  
  302. Table I Performance Benchmarks
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324. The conclusion was that the data acquisition performance scaled
  325. consistent with the Dhrystone performance.
  326.  
  327.  
  328.  
  329. 4.2.  Memory Architecture:
  330.  
  331.       Following are the key elements in the design of the
  332. memory subsystem:
  333.  
  334.  
  335.  
  336. Memory size flexibility (<4Mbyte to > 128Mbyte)
  337.  
  338. Performance
  339.  
  340. High bandwidth
  341.  
  342. Error correction
  343.  
  344. "Dual ported" functionality
  345.  
  346.  
  347.  
  348. The processor interfaces to memory and I/O through the processor
  349. memory interface. In the case of the 742rt, this is through
  350. PBUS, a 32-bit transaction-based bus supporting a wide variety
  351. of transactional communications.  The processor memory interface
  352. translates each PBUS transaction into the appropriate memory or
  353. I/O action and response.  For simplicity of chip design and to
  354. obtain the features desired, the processor memory interface was
  355. split into two parts; a memory interface unit which responds to
  356. memory commands and an I/O interface block which responds to I/O
  357. commands.
  358.  
  359.  
  360.  
  361. In the system design, both parity and ECC memory designs were
  362. considered. With the anticipated applications, parity would be
  363. the minimum acceptable, but ECC was more desirable because of
  364. error correction for single error conditions. An ECC design,
  365. however, usually carries a penalty of either performance
  366. (slower) or cost (more check bits).  The ultimate ECC design
  367. solved both problems with a design that:
  368.  
  369.  
  370.  
  371. Had a 64 bit data path, allowing high performance while
  372. remaining compatible with a  minimum configuration utilizing 9
  373. RAMs.
  374.  
  375. Performed ECC over the full 64 bits, thus using the same number
  376. of check bits as a  byte parity design would require.
  377.  
  378. Performed fast read-modify-write for byte, half word, or word
  379. writes.  With write-back caches, the frequency of these
  380. operations has decreased dramatically and was estimated to
  381. minimally impact performance (<1%).
  382.  
  383. Increased reliability, from an estimated 3-6 months typical
  384. between a parity error (based on our experience with parity
  385. designs on similar systems), to a reliability that ranges in the
  386. hundreds of years between non-correctable double-bit soft errors
  387. with the ECC system.
  388.  
  389. Supports industry standard SIMM Memory Modules, thus allowing
  390. the leverage of total industry volume of RAM modules.
  391.  
  392.  
  393.  
  394. 4.3.   I/O Architecture:
  395.  
  396. The other portion of the processor memory interface on the 742rt
  397. and similar RISC processors deals with I/O transactions.
  398. Following is the block diagram of the I/O subsystem:
  399.  
  400.  
  401.  
  402. Figure 2 I/O Architecture
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409. VME was selected as the standard bus for the board computer
  410. (although, as the block diagram indicates, a path to EISA is
  411. also available on an industrial workstation version).  Graphics
  412. was anticipated as a future option, so a higher performance
  413. internal system bus was also included, with functionality that
  414. matched previous HP graphics system busses.  The I/O interface
  415. block (implemented, in the 742rt, as a CMOS Standard Cell ASIC)
  416. provides the means for I/O devices to do Direct Memory Access
  417. (DMA).
  418.  
  419.  
  420.  
  421. 4.3.1.   Built-in "Core" I/O.
  422.  
  423. The 742rt and 747i include built-in I/O common to many
  424. processors designed for the VME and other busses.
  425. Included is the following:
  426.  
  427.  
  428.  
  429.  A keyboard interface:  Popular interfaces are PS2 and Serial.
  430. Hewlett-Packard has developed a daisy chain interface
  431. (HP-HIL) which allows the interface of keyboards and other
  432. user interface devices through one peripheral connector
  433. (critical for preserving back panel connector space).
  434.  
  435.  Serial interfaces (2 EIA RS232C compatible with handshaking and
  436. 16 byte transmit and receive FIFO buffers).
  437.  
  438.  Parallel interface:  In most cases, the need is "Centronics"
  439. compatibility.
  440.  
  441.  Networking:  In most cases, compatibility with IEEE 802.3 or
  442. Ethernet is needed. In many Real-time applications, other higher
  443. performance networking, such as FDDI, will become more popular
  444. in the future.
  445.  
  446.  SCSI interface:   This is provided for interfacing disks and
  447. other mass storage devices.
  448.  
  449.  Audio in/out.
  450.  
  451.  Time source:  Most operating systems require a source to update
  452. the system clock.
  453.  
  454.  Time sources for event timing within the application (as
  455. defined by Posix .4 extensions).  In the case of the 742rt, 2
  456. 16-bit programmable timers with 1 usec resolution and 1 microsec
  457. to 65millisec time intervals were provided along with 1 32-bit
  458. programmable timer.
  459.  
  460.  Bus error timers and a watchdog timer:  These provide the extra
  461. security to force continued operation or a  reset of the system
  462. in case of unforeseen error conditions.
  463.  
  464.  
  465.  
  466. 4.3.2.   General Purpose I/O Interface:
  467.  
  468. Most general purpose Real-time systems will be interfaced to a
  469. general purpose, usually industry standard, I/O bus.  Our
  470. application was VME, although there are alternate standard I/O
  471. busses such as EISA in common use.  The following table will
  472. summarize some of the key attributes of some of the various
  473. busses found in Real-time systems:
  474.  
  475.  
  476.  
  477. Table II Bus Comparison
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487. 5.  Real-time Software
  488.  
  489.  
  490.  
  491.      The software requirements of a Real-time system can
  492. generally be separated into the broad categories of the
  493. operating system and compiler technology.
  494.  
  495.  
  496.  
  497. 5.1.  General attributes of a Real-time operating system
  498.  
  499. Real-time operating systems can generally be characterized as
  500. having unique requirements in 5 general attribute areas:
  501.  
  502.  
  503.  
  504. Determinism
  505.  
  506. Responsiveness
  507.  
  508. User Control
  509.  
  510. Reliability
  511.  
  512. Fail Soft operation
  513.  
  514.  
  515.  
  516. 5.1.1.   Determinism:
  517.  
  518. Determinism is the property of the system to perform an
  519. operation in a well defined or deterministic time frame.
  520. Ideally, the system would always perform an operation in a
  521. pre-defined time.  However, all systems, including Real-time
  522. operating systems, exhibit behavior which is less than fully
  523. deterministic. The difference between a Real-time system and
  524. those systems commonly classified as non-Real-time, is the
  525. degree of deterministic behavior.  The degree of determinism is
  526. usually specified by maximum interrupt response time (the
  527. maximum time that interrupts are turned off usually dictates the
  528. degree of determinism) and context switch time.
  529.  
  530.  
  531.  
  532. The deterministic, or guaranteed, response time, is usually
  533. determined by one of two techniques, or a combination of the two:
  534.  
  535.  
  536.  
  537.  Manual inspection of worst-case timing paths
  538.  
  539.  Testing and measurement of worst-case timing paths, usually
  540. during worst case kernel stress and configuration tests.
  541.  
  542.  
  543.  
  544. 5.1.2.  Responsiveness:
  545.  
  546. Responsiveness is the ability of the system to respond quickly
  547. to an event, external asynchronous interrupts.  This
  548. differentiates a Real-time system from other "non-Real-time
  549. systems", where synchronous events and responsiveness are not
  550. nearly as key.  A low interrupt response time will usually
  551. indicate a more responsive system.
  552.  
  553.  
  554.  
  555. 5.1.3.  User Control:
  556.  
  557. A typical operating system has, as the highest priority, the
  558. optimization of total system throughput and typically isolates
  559. the user from direct configuration of the system.  However, a
  560. Real-time operating system will give ultimate control of the
  561. behavior of the  system to the user.  This starts with the
  562. ability to set priorities for each task.  The user must be able
  563. to reallocate the priorities on a Real-time basis.  The
  564. Real-time system will also to allow the user to specify other
  565. characteristics such as the use of paging, process swapping, and
  566. privilege capability
  567.  
  568.  
  569.  
  570. 5.1.4.  Reliability:
  571.  
  572. A failure in a personal computer, or other small system, is
  573. typically not a catastrophic event.  A Real-time system is
  574. frequently used to control mission critical processes and data
  575. acquisition where a failure could result in serious loss of data
  576. or property.
  577.  
  578.  
  579.  
  580. Various studies have been performed to estimate the "cost" of
  581. quality.  The cost of fixing a defect, once a product is
  582. deployed in the field, can reach gigantic proportions.
  583. Hewlett-Packard takes the following steps to assure product
  584. quality:
  585.  
  586.  
  587.  
  588.  Setting release criteria associated with quality, usually
  589. associated with:
  590.  
  591. -Defect density
  592.  
  593. -Test coverage
  594.  
  595. -Inspection (Code review)
  596.  
  597. -PFA (Path flow analysis)
  598.  
  599. -Stress test (usually measured by meeting a certain number of
  600. continuous hours of operation, or CHO, within a
  601. stress environment)
  602.  
  603. -Performance
  604.  
  605.  
  606.  
  607.  Intensive code reviews and inspections during design and coding
  608. to design out defects.  Most studies show that
  609. finding defects with inspection is 10x more efficient  than
  610. finding defects through test.
  611.  
  612. Execution of a test plan to verify conformance to the release
  613. criteria
  614.  
  615.  
  616.  
  617. 5.1.5.  Fail Soft Operation:
  618.  
  619. The ideal Real-time system will never panic or "crash".
  620. Instead, when fatal conditions are detected, steps will be taken
  621. to either correct or minimize the degree of the problem.  The
  622. file system must be more reliable and can be characterized as
  623. having Real-time extensions, including integrity in the event of
  624. power failure or system problems.
  625.  
  626.  
  627.  
  628. 5.2.  Operating Systems Alternatives:
  629.  
  630. With these considerations in mind, there are several options
  631. available for the designer of a Real-time system.  One set is
  632. Real-time kernels such as VxWorks or PSOS+, which are
  633. characterized by excellent Real-time performance but with less
  634. general purpose functionality and proprietary interfaces.
  635. Another set is general purpose UNIX systems, some of which are
  636. beginning to incorporate Real-time functionality into their
  637. systems.  Several vendors exist for Real-time UNIX systems where
  638. the programmatic interfaces are kept compatible with the UNIX
  639. environment, but the focus is on Real-time. Lynx OS is one such
  640. system and was selected as the core technology for the HP-RT
  641. Real-time operating system for the 742.
  642.  
  643.  
  644.  
  645. 5.3.  Application Programming Interface:
  646.  
  647. As HP has surveyed the Real-time market during the development
  648. of HP-RT, the strong input was "support standards".  The support
  649. of new hardware is limited by the industry's ability to create
  650. software to provide solutions.  Evolving to standards will
  651. improve the industry's ability to develop application software
  652. in a timely manner, and will improve portability across
  653. platforms.
  654.  
  655.  
  656.  
  657. The IEEE P1003 "Portable Operating System Interface POSIX"
  658. working groups are working to address the requirements of the
  659. portability of applications with Real-time requirements.
  660. Although there are standardization activities in many areas, the
  661. 3 of most interest that form the foundation for HP-RT are:
  662.  
  663.  
  664.  
  665. POSIX 1003.1 System Interfaces
  666.  
  667. POSIX 1003.4 Real-time extensions
  668.  
  669. POSIX 1003.4a Threads within a single POSIX process
  670.  
  671.  
  672.  
  673. The POSIX 1003.4 standard contains interfaces in the following
  674. areas:
  675.  
  676.  
  677.  
  678. Binary Semaphores
  679.  
  680. Process Memory Locking
  681.  
  682. Shared Memory
  683.  
  684. Priority scheduling
  685.  
  686. Clock and timers
  687.  
  688. Inter-process communication and message passing
  689.  
  690. Synchronous and asynchronous I/O
  691.  
  692. Real-time files
  693.  
  694.  
  695.  
  696. There are other defacto standards, such as Berkeley, System V,
  697. X-Client, and Motif, and networking standards such as TCP-IP and
  698. NFS, that are also important for Real-time applications,
  699. especially if one is trying to port applications from other
  700. environments.
  701.  
  702.  
  703.  
  704. The HP-RT operating system supports POSIX .1, POSIX .4, and
  705. .4a, NFS, TCP-IP, and X-Client/Motif.
  706.  
  707.  
  708.  
  709. Drafts of the POSIX standards can be obtained from the IEEE
  710. standards draft office distribution at (908) 981-1393.
  711.  
  712.  
  713.  
  714. 5.4.  Compiler Technology:
  715.  
  716. Compiler optimization technology unlocks the performance
  717. potential of RISC architectures, including the PA-RISC
  718. architecture.  The RISC design has fundamentally changed the
  719. role of the compiler as RISC moves to strike a balance between
  720. hardware and software that exploits the best of each technology.
  721.  The resulting simple high performance instruction set enables
  722. the compiler to apply optimizations that dramatically improve
  723. performance.  The effectiveness of RISC depends on the
  724. compiler's ability to create the optimal instruction sequences
  725. by appropriately rearranging program steps.  Without these
  726. optimizations many applications will execute at a performance
  727. level far below their potential.
  728.  
  729.  
  730.  
  731. The importance of optimizing compilers was recognized during the
  732. inception of RISC during the creation of PA-RISC in the early
  733. 1980's.  Since then, the evolution of HP's optimizing compilers
  734. has been closely linked to both the evolution of advanced
  735. optimization techniques and of the PA-RISC architecture. The
  736. recent PA-RISC compilers have focused on improved instruction
  737. scheduling, register re-association, software piplining, and an
  738. enhanced register allocation, along with heuristic based branch
  739. optimizations to get the best performance from the PA-RISC
  740. architecture.  As one selects an architecture for Real-time, the
  741. performance and capabilities of the compiler must be analyzed in
  742. tandem with the hardware set.
  743.  
  744.  
  745.  
  746. 6. Summary:
  747.  
  748.  
  749.  
  750.      The requirements and design of a RISC-based Real-time
  751. system have been reviewed, including hardware and software.  We
  752. believe, at Hewlett-Packard, that RISC competes effectively in
  753. cost with CISC and surpasses CISC in performance potential.
  754. With workstations and servers transistioning very quickly to
  755. RISC, cost and performance will tip even more in the favor of
  756. RISC architectures.
  757.  
  758.      The author acknowledges the many people at
  759. Hewlett-Packard who have had a part in the development of the
  760. PA-RISC system and in particular the development of the S700
  761. Real-time systems and Industrial Workstation products.
  762. Appreciation is also extended to Laura Karrington for her part
  763. in preparing this manuscript.
  764.  
  765. References:
  766.  
  767.  
  768.  
  769.      1. Kevin D, Morgan, "The RTOS Difference", BYTE Magazine
  770. Aug. 1992,
  771.  
  772.      2. Bill Corwin, "Adapting the POSIX Standard to
  773. Real-Time", OpenBus Systems '92, p.21
  774.  
  775.      3. J.Petersen, C. Dessonet, C. Parkman, Y. Perrin,
  776. L.Tremblet, "VMEbus Based Data Acquisition with
  777. Real-time UNIX on CISC and RISC processors - Some Performance
  778. Measurements",  Open BUS Systems '92 Proceedings,
  779. p.99
  780.  
  781.      4. E. DeLano, W. Walker, J. Yetter, M. Forsyth, "A High
  782. Speed Superscalar PA-RISC Processor",
  783. Compcon II Spring '92 Digest of Papers, IEEE Press
  784.  
  785.      5. "HP PA-RISC Compiler Optimization Technology",
  786. Hewlett-Packard Technical White Paper, Version
  787. 1.0, August 1992
  788.  
  789.